package com.itheima.thread.api.demo01;

/**
 * 和线程名称相关的api
 * 1. 获取线程名称
 * 2. 设置线程名称
 *
 * 每一个线程存在一个默认的名称，我们可以调用相关方法获取到这个线程名称，获取到线程名称，可以有效的帮助我们来分析程序
 * 我们可以清楚的知道在控制台输出的结果到底是哪一个线程执行的。
 *
 * public final String getName​()： 返回此线程的名称。
 *
 */
public class ThreadDemo01 {

    public static void main(String[] args) {

        // 创建两个线程对象
        // public Thread(String name)							// 构造方法设置线程名称
        MyThread t1 = new MyThread("刘亦菲") ;
        MyThread t2 = new MyThread("公孙瓒") ;

        // 调用方法给线程设置名称
        // t1.setName("刘亦菲");
        // t2.setName("公孙瓒");

        // 启动两个线程
        t1.start();
        t2.start();

        /**
         * 如何获取主线程名称？
         * 思路：如果我们可以获取到当前正在执行的线程对象，那么我们就可以调用当前只在执行的线程对象的方法去获取线程名称。
         * 问题：如何获取到当前正在执行的线程对象呢？
         * public static Thread currentThread​()
         */
        Thread thread = Thread.currentThread();
        String name = thread.getName();
        System.out.println("主线程的名称是：" + name);

    }

}













